home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr35
/
pw_10a.zip
/
PPEWHO.PPS
< prev
Wrap
Text File
|
1993-06-22
|
4KB
|
96 lines
;*****************************************************************************
;* *
;* PPEWHO.PPE v1.00a *
;* PCBOARD 15.0 TRANSFER SUMMARY SEARCHER PROGRAM *
;* *
;* Written by Larry Steele and Jerry Claxton *
;* Written in PCBoard Programming Language *
;* Compiled on 06-22-1993 *
;* *
;* "The Shoppe Bulletin Board Systems" *
;* Node 1 - 708-888-0725 - [16.8 DS] - 80486/50 *
;* Node 2 - 708-888-1162 - [16.8 DS] - 80486/40 *
;* Node 3 - 708-888-0078 - [16.8 DS] - 80486/40 *
;* Node 4 - 708-888-4175 - [16.8 DS] - 80486/40 *
;* Node 5 - PRIVATE LINE - [16.8 DS] - 80486/66 *
;* *
;* Voice Support - [708-426-9411] - [10:00 am - 11:00 pm] *
;* Ask for Jerry Claxton, Assistant System Operator *
;*****************************************************************************
;*****************************************************************************
;* Define variable types *
;*****************************************************************************
INTEGER POS, LINECOUNT, MATCHED
STRING TEMP_LINE, SEARCH_ANSWER, COMMAND_LINE
;*****************************************************************************
;* Beginning of main program, Update USERNET.XXX and write to the CALLER log *
;*****************************************************************************
WRUNET PCBNODE(), UN_STAT(), UN_NAME(), UN_CITY(), "Running program [" + PPENAME() + ".PPE]", ""
LOG "Transfer Summary Scanner (" + PPENAME() + ".PPE) " + "at (" + LEFT(TIME(), 5) + ")", 0
GETTOKEN COMMAND_LINE
IF (COMMAND_LINE = "") THEN
NEWLINE
PRINTLN "This program will scan the system download/upload log file and list all entries"
PRINTLN "that mention a specific keyword. You may select any full filename for scanning"
PRINTLN "or the search is done based on matching keywords (like the Zippy scan function)"
PRINTLN
PRINTLN "These searches can take a few minutes to complete, so please be patient!"
INPUTSTR "Enter the Text to Search for (@X0FEnter@X0E)=none", SEARCH_ANSWER, 0Eh, 36, MASK_ASCII(), FIELDLEN + GUIDE + UPCASE + LFBEFORE + LFAFTER
LET SEARCH_ANSWER = UPPER(SEARCH_ANSWER)
IF (SEARCH_ANSWER = "") STOP
ELSE
LET SEARCH_ANSWER = UPPER(COMMAND_LINE)
END IF
IF (EXIST(READLINE(PCBDAT(), 46))) THEN
LOG "Searching for (" + SEARCH_ANSWER + ") ...", 0
NEWLINE
PRINTLN "@X0ESearching for (@X0F" + SEARCH_ANSWER + "@X0E) ..."
NEWLINE
PRINT "@X0ARemember you may cancel the search at anytime by pressing @X0FCTRL-K @X0A... "
FOPEN 1, READLINE(PCBDAT(), 46), O_RD, S_DN
WHILE (!FERR(1)) DO
FGET 1, TEMP_LINE
IF (TEMP_LINE <> "") THEN
LINECOUNT = LINECOUNT + 1
LET TEMP_LINE = UPPER(TEMP_LINE)
IF (INSTR(TEMP_LINE, SEARCH_ANSWER)) THEN
MATCHED = MATCHED + 1
POS = INSTR(TEMP_LINE, SEARCH_ANSWER)
IF (MATCHED == 1) NEWLINES 2
PRINT "@X0F" + LEFT(TEMP_LINE, (POS - 1)) + "@X74" + SEARCH_ANSWER + "@X0F"
PRINTLN MID(TEMP_LINE, POS + LEN(SEARCH_ANSWER), ((LEN(TEMP_LINE) - POS) - LEN(SEARCH_ANSWER)))
END IF
END IF
IF (ABORT()) FCLOSE 1
END WHILE
FCLOSE 1
ELSE
NEWLINE
LOG UPPER(READLINE(PCBDAT(), 46)) + ") is missing!", 0
PRINT "@X0C(" + UPPER(READLINE(PCBDAT(), 46)) + ") is missing!"
END IF
RESETDISP
NEWLINE
IF (MATCHED == 0) NEWLINE
PRINTLN "@X0E" + STRING(LINECOUNT) + " entries scanned, " + STRING(MATCHED) + " matches."
NEWLINE
WAIT
END